home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 46 / Amiga Format CD46 (1999-10-20)(Future Publishing)(GB)[!][issue 1999-12].iso / -in_the_mag- / reader_requests / scilab / tests / lsparse.dia.ref < prev    next >
Text File  |  1999-09-16  |  18KB  |  384 lines

  1.  
  2.  
  3. mode(5)
  4. lines(0)
  5. zer=sparse([],[],[6,6]);
  6. //
  7. //
  8. //-------------------------------------------------------------
  9. //test des primitives sparse, full
  10. //-------------------------------------------------------------
  11. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);A=full(a);
  12. b=sparse([1 6;1 2;5 5],[-1;-1;-1],[5 6]);B=full(b);
  13. if or(full(a<>0)<>(A<>0)) then bugmes();quit;end
  14. if or(full(b<>0)<>(B<>0)) then bugmes();quit;end
  15. if or(full(b>0)<>(B>0)) then bugmes();quit;end
  16. if or(full(b<0)<>(B<0)) then bugmes();quit;end
  17. if or(full(a>100)<>(A>100)) then bugmes();quit;end
  18. if sparse(B>0)<>(b>0) then bugmes();quit;end
  19. if sparse(B<0)<>(b<0) then bugmes();quit;end
  20. //-------------------------------------------------------------
  21. //test de la primitives spget
  22. //-------------------------------------------------------------
  23. //-----------------------------------------------
  24. // | and & tests
  25. //-----------------------------------------------
  26. // -- sparse sparse
  27. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a<>0;A=full(a);
  28. b=sparse([1 6;1 2;5 5],[-1;-1;-1],[6 6]);b=b<>0;B=full(b);
  29. if (a|b)<>(A|B) then bugmes();quit;end
  30. if (a&b)<>(A&B) then bugmes();quit;end
  31. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a>100;A=full(a);
  32. if (a|b)<>(A|B) then bugmes();quit;end
  33. if (a&b)<>(A&B) then bugmes();quit;end
  34. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a<>0;A=full(a);
  35. b=sparse([1 6;1 2;5 5],[-1;-1;-1],[6 6]);b=b>0;B=full(b);
  36. if (a|b)<>(A|B) then bugmes();quit;end
  37. if (a&b)<>(A&B) then bugmes();quit;end
  38. b=sparse([1 6;1 2;5 5],[-1;-1;-1],[6 6]);b=b>0;B=full(b);
  39. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a>100;A=full(a);
  40. if (a|b)<>(A|B) then bugmes();quit;end
  41. if (a&b)<>(A&B) then bugmes();quit;end
  42. // -- sparse full
  43. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a<>0;A=full(a);
  44. b=sparse([1 6;1 2;5 5],[-1;-1;-1],[6 6]);b=b<>0;B=full(b);
  45. if (a|B)<>(A|B) then bugmes();quit;end
  46. if (a&B)<>(A&B) then bugmes();quit;end
  47. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a>100;A=full(a);
  48. if (a|B)<>(A|B) then bugmes();quit;end
  49. if (a&B)<>(A&B) then bugmes();quit;end
  50. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a<>0;A=full(a);
  51. b=sparse([1 6;1 2;5 5],[-1;-1;-1],[6 6]);b=b>0;B=full(b);
  52. if (a|B)<>(A|B) then bugmes();quit;end
  53. if (a&B)<>(A&B) then bugmes();quit;end
  54. b=sparse([1 6;1 2;5 5],[-1;-1;-1],[6 6]);b=b>0;B=full(b);
  55. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a>100;A=full(a);
  56. if (a|B)<>(A|B) then bugmes();quit;end
  57. if (a&B)<>(A&B) then bugmes();quit;end
  58. // -- full sparse
  59. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a<>0;A=full(a);
  60. b=sparse([1 6;1 2;5 5],[-1;-1;-1],[6 6]);b=b<>0;B=full(b);
  61. if (A|b)<>(A|B) then bugmes();quit;end
  62. if (A&b)<>(A&B) then bugmes();quit;end
  63. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a>100;A=full(a);
  64. if (A|b)<>(A|B) then bugmes();quit;end
  65. if (A&b)<>(A&B) then bugmes();quit;end
  66. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a<>0;A=full(a);
  67. b=sparse([1 6;1 2;5 5],[-1;-1;-1],[6 6]);b=b>0;B=full(b);
  68. if (A|b)<>(A|B) then bugmes();quit;end
  69. if (A&b)<>(A&B) then bugmes();quit;end
  70. b=sparse([1 6;1 2;5 5],[-1;-1;-1],[6 6]);b=b>0;B=full(b);
  71. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a>100;A=full(a);
  72. if (A|b)<>(A|B) then bugmes();quit;end
  73. if (A&b)<>(A&B) then bugmes();quit;end
  74. // ----------------------------------------------------------
  75. // test de la transposition
  76. //-----------------------------------------------------------
  77. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a<>0;A=full(a);
  78. b=sparse([1 6;1 2;5 5],[-1;-1;-1],[6 6]);b=b<>0;B=full(b);
  79. if or(full(a')<>full(a)') then bugmes();quit;end
  80. if or(full(b')<>full(b)') then bugmes();quit;end
  81. b=sparse([1 6;1 2;5 5],[-1;-1;-1],[6 6]);b=b>0;B=full(b);
  82. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a>100;A=full(a);
  83. if or(full(a')<>full(a)') then bugmes();quit;end
  84. if or(full(b')<>full(b)') then bugmes();quit;end
  85. // ----------------------------------------------------------
  86. // test des concatenation
  87. //-----------------------------------------------------------
  88. // sparse sparse
  89. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a<>0;A=full(a);
  90. b=sparse([1 6;1 2;5 5],[-1;-1;-1],[6 6]);b=b<>0;B=full(b);
  91. if or(full([a])<>A) then bugmes();quit;end
  92. if or(full([a b])<>[A B]) then bugmes();quit;end
  93. if or(full([a;b])<>[A;B]) then bugmes();quit;end
  94. if or(full([a []])<>A) then bugmes();quit;end
  95. if or(full([a;[]])<>A) then bugmes();quit;end
  96. // sparse full
  97. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a<>0;A=full(a);
  98. b=sparse([1 6;1 2;5 5],[-1;-1;-1],[6 6]);b=b<>0;B=full(b);
  99. if or(full([a B])<>[A B]) then bugmes();quit;end
  100. if or(full([a;B])<>[A;B]) then bugmes();quit;end
  101. b=sparse([1 6;1 2;5 5],[-1;-1;-1],[6 6]);b=b>0;B=full(b);
  102. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a>100;A=full(a);
  103. if or(full([a B])<>[A B]) then bugmes();quit;end
  104. if or(full([a;B])<>[A;B]) then bugmes();quit;end
  105. // full sparse
  106. if or(full([A b])<>[A B]) then bugmes();quit;end
  107. if or(full([A;b])<>[A;B]) then bugmes();quit;end
  108. b=sparse([1 6;1 2;5 5],[-1;-1;-1],[6 6]);b=b>0;B=full(b);
  109. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a>100;A=full(a);
  110. if or(full([A b])<>[A B]) then bugmes();quit;end
  111. if or(full([B;b])<>[A;B]) then bugmes();quit;end
  112. // ----------------------------------------------------------
  113. // test des extractions
  114. //-----------------------------------------------------------
  115. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a<>0;af=full(a);
  116. if or(full(a(1,3))<>af(1,3)) then bugmes();quit;end
  117. if or(full(a(1,4))<>af(1,4)) then bugmes();quit;end
  118. if or(full(a(1,:))<>af(1,:)) then bugmes();quit;end
  119. v=sparse([2 1;3 1;4 1;6 1],[10;11;12;13],[6,1]);v=v<>0;vf=full(v);
  120. if or(full(v(:))<>vf(:)) then bugmes();quit;end
  121. if or(full(v(3:4))<>vf(3:4)) then bugmes();quit;end
  122. if or(full(v([1 5]))<>vf([1 5])) then bugmes();quit;end
  123. if or(full(v([4 3]))<>vf([4 3])) then bugmes();quit;end
  124. if or(full(v([4 4]))<>vf([4 4])) then bugmes();quit;end
  125. if or(full(v([1 1]))<>vf([1 1])) then bugmes();quit;end
  126. v=v';vf=vf';
  127. if or(full(v(:))<>vf(:)) then bugmes();quit;end
  128. if or(full(v(3:4))<>vf(3:4)) then bugmes();quit;end
  129. if or(full(v([1 5]))<>vf([1 5])) then bugmes();quit;end
  130. if or(full(v([4 3]))<>vf([4 3])) then bugmes();quit;end
  131. if or(full(v([4 4]))<>vf([4 4])) then bugmes();quit;end
  132. if or(full(v([1 1]))<>vf([1 1])) then bugmes();quit;end
  133. // full line insertion
  134. //----------------------
  135. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a<>0;af=full(a);
  136. vt=sparse([1 2;1 3;1 4;1 6],[10;11;12;13],[1,6]);vt=vt<>0;
  137. a1=a;a1(1,:)=vt;A=full(a);Vt=full(vt);A(1,:)=Vt;
  138. if or(full(a1)<>A) then bugmes();quit;end
  139. a1=a;a1(3,:)=vt;A=full(a);Vt=full(vt);A(3,:)=Vt;
  140. if or(full(a1)<>A) then bugmes();quit;end
  141. a1=a;a1(1,:)=vt;A=full(a);Vt=full(vt);A(1,:)=Vt;
  142. if or(full(a1)<>A) then bugmes();quit;end
  143. a1=a;a1(3,:)=vt;A=full(a);Vt=full(vt);A(3,:)=Vt;
  144. if or(full(a1)<>A) then bugmes();quit;end
  145. a1=a;a1(7,:)=vt;A=full(a);Vt=full(vt);A(7,:)=Vt;
  146. if or(full(a1)<>A) then bugmes();quit;end
  147. a1=a;a1(8,:)=vt;A=full(a);Vt=full(vt);A(8,:)=Vt;
  148. if or(full(a1)<>A) then bugmes();quit;end
  149. b=sparse([1 1;1 3;1 6;2 1;2 2;2 4],10:15,[2,6])<>0;
  150. a1=a;a1([1 3],:)=b;A=full(a);B=full(b);A([1 3],:)=B;
  151. if or(full(a1)<>A) then bugmes();quit;end
  152. a1=a;a1([3 1],:)=b;A=full(a);B=full(b);A([3 1],:)=B;
  153. if or(full(a1)<>A) then bugmes();quit;end
  154. b=sparse([1 1;1 3;1 6;2 1;2 2;2 4;3 3;3 5],10:17,[3,6])<>0;
  155. a1=a;a1([1 3 1],:)=b;A=full(a);B=full(b);A([1 3 1],:)=B;
  156. if or(full(a1)<>A) then bugmes();quit;end
  157. //  insert zero vector
  158. vt=sparse([],[],[1,6])<>0;
  159. a1=a;a1(1,:)=vt;A=full(a);Vt=full(vt);A(1,:)=Vt;
  160. if or(full(a1)<>A) then bugmes();quit;end
  161. a1=a;a1(3,:)=vt;A=full(a);Vt=full(vt);A(3,:)=Vt;
  162. if or(full(a1)<>A) then bugmes();quit;end
  163. a1=a;a1(1,:)=vt;A=full(a);Vt=full(vt);A(1,:)=Vt;
  164. if or(full(a1)<>A) then bugmes();quit;end
  165. a1=a;a1(3,:)=vt;A=full(a);Vt=full(vt);A(3,:)=Vt;
  166. if or(full(a1)<>A) then bugmes();quit;end
  167. a1=a;a1(7,:)=vt;A=full(a);Vt=full(vt);A(7,:)=Vt;
  168. if or(full(a1)<>A) then bugmes();quit;end
  169. a1=a;a1(8,:)=vt;A=full(a);Vt=full(vt);A(8,:)=Vt;
  170. if or(full(a1)<>A) then bugmes();quit;end
  171. b=sparse([1 1;1 3;1 6;2 1;2 2;2 4],10:15,[2,6]);b=b<>0;
  172. a1=a;a1([1 3],:)=b;A=full(a);B=full(b);A([1 3],:)=B;
  173. if or(full(a1)<>A) then bugmes();quit;end
  174. a1=a;a1([3 1],:)=b;A=full(a);B=full(b);A([3 1],:)=B;
  175. if or(full(a1)<>A) then bugmes();quit;end
  176. b=sparse([1 1;1 3;1 6;2 1;2 2;2 4;3 3;3 5],10:17,[3,6]);b=b<>0;
  177. a1=a;a1([1 3 1],:)=b;A=full(a);B=full(b);A([1 3 1],:)=B;
  178. if or(full(a1)<>A) then bugmes();quit;end
  179. // full column insertion
  180. //----------------------
  181. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a<>0;
  182. v=sparse([2 1;3 1;4 1;6 1],[10;11;12;13],[6,1]);v=v<>0;
  183. a1=a;a1(:,1)=v;A=full(a);V=full(v);A(:,1)=V;
  184. if or(full(a1)<>A) then bugmes();quit;end
  185. a1=a;a1(:,2)=v;A=full(a);V=full(v);A(:,2)=V;
  186. if or(full(a1)<>A) then bugmes();quit;end
  187. a1=a;a1(:,1)=v;A=full(a);V=full(v);A(:,1)=V;
  188. if or(full(a1)<>A) then bugmes();quit;end
  189. a1=a;a1(:,2)=v;A=full(a);V=full(v);A(:,2)=V;
  190. if or(full(a1)<>A) then bugmes();quit;end
  191. a1=a;a1(:,3)=v;A=full(a);V=full(v);A(:,3)=V;
  192. if or(full(a1)<>A) then bugmes();quit;end
  193. //
  194. a1=a;a1(:,7)=v;A=full(a);V=full(v);A(:,7)=V;
  195. if or(full(a1)<>A) then bugmes();quit;end
  196. a1=a;a1(:,8)=v;A=full(a);V=full(v);A(:,8)=V;
  197. if or(full(a1)<>A) then bugmes();quit;end
  198. b=sparse([1 2;2 1;3 1;3 2;4 1;6 2],10:15,[6,2]);b=b<>0;
  199. a1=a;a1(:,[1 3])=b;A=full(a);B=full(b);A(:,[1 3])=B;
  200. if or(full(a1)<>A) then bugmes();quit;end
  201. a1=a;a1(:,[3 1])=b;A=full(a);B=full(b);A(:,[3 1])=B;
  202. if or(full(a1)<>A) then bugmes();quit;end
  203. b=sparse([1 2;2 1;2 3;3 1;3 2;4 1;5 3;6 2],10:17,[6,3]);b=b<>0;
  204. a1=a;a1(:,[1 3 1])=b;A=full(a);B=full(b);A(:,[1 3 1])=B;
  205. if or(full(a1)<>A) then bugmes();quit;end
  206. // row column insertion
  207. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a<>0;
  208. b=sparse([1 2;1 3;3 3],-(1:3),[3,3]);b=b<>0;
  209. a1=a;a1(1,1)=sparse(%t);A=full(a);A(1,1)=%t;
  210. if or(full(a1)<>A) then bugmes();quit;end
  211. a1=a;a1(1,6)=sparse(%t);A=full(a);A(1,6)=%t;
  212. if or(full(a1)<>A) then bugmes();quit;end
  213. a1=a;a1(1,8)=sparse(%t);A=full(a);A(1,8)=%t;
  214. if or(full(a1)<>A) then bugmes();quit;end
  215. a1=a;a1(1:3,1:3)=b;A=full(a);A(1:3,1:3)=full(b);
  216. if or(full(a1)<>A) then bugmes();quit;end
  217. a1=a;a1(1:3,6:8)=b;A=full(a);A(1:3,6:8)=full(b);
  218. if or(full(a1)<>A) then bugmes();quit;end
  219. a1=a;a1(6:8,1:3)=b;A=full(a);A(6:8,1:3)=full(b);
  220. if or(full(a1)<>A) then bugmes();quit;end
  221. a1=a;a1([3 2 1],1:3)=b;A=full(a);A([3 2 1],1:3)=full(b);
  222. if or(full(a1)<>A) then bugmes();quit;end
  223. a1=a;a1([1 2 1],1:3)=b;A=full(a);A([1 2 1],1:3)=full(b);
  224. if or(full(a1)<>A) then bugmes();quit;end
  225. a1=a;a1([3 2 1],[3 2 1])=b;A=full(a);A([3 2 1],[3 2 1])=full(b);
  226. if or(full(a1)<>A) then bugmes();quit;end
  227. a1=a;a1([1 2 1],[3 2 1])=b;A=full(a);A([1 2 1],[3 2 1])=full(b);
  228. if or(full(a1)<>A) then bugmes();quit;end
  229. a1=a;a1([1 2 1],[1 2 1])=b;A=full(a);A([1 2 1],[1 2 1])=full(b);
  230. if or(full(a1)<>A) then bugmes();quit;end
  231. //sparse full
  232. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a<>0;
  233. vt=[%t %f %t %t %t %t];
  234. // full line insertion
  235. //----------------------
  236. a1=a;a1(1,:)=vt;A=full(a);A(1,:)=vt;
  237. if or(full(a1)<>A) then bugmes();quit;end
  238. a1=a;a1(3,:)=vt;A=full(a);A(3,:)=vt;
  239. if or(full(a1)<>A) then bugmes();quit;end
  240. a1=a;a1(1,:)=vt;A=full(a);A(1,:)=vt;
  241. if or(full(a1)<>A) then bugmes();quit;end
  242. a1=a;a1(3,:)=vt;A=full(a);A(3,:)=vt;
  243. if or(full(a1)<>A) then bugmes();quit;end
  244. a1=a;a1(7,:)=vt;A=full(a);A(7,:)=vt;
  245. if or(full(a1)<>A) then bugmes();quit;end
  246. a1=a;a1(8,:)=vt;A=full(a);A(8,:)=vt;
  247. if or(full(a1)<>A) then bugmes();quit;end
  248. b=[%t %f %t %t %t %t;%f %f %t %t %f %t];
  249. a1=a;a1([1 3],:)=b;A=full(a);A([1 3],:)=b;
  250. if or(full(a1)<>A) then bugmes();quit;end
  251. a1=a;a1([3 1],:)=b;A=full(a);A([3 1],:)=b;
  252. if or(full(a1)<>A) then bugmes();quit;end
  253. b=[%t %f %t %t %t %t;%f %f %t %t %f %t;%t %f %t %f %t %t];
  254. a1=a;a1([1 3 1],:)=b;A=full(a);A([1 3 1],:)=b;
  255. if or(full(a1)<>A) then bugmes();quit;end
  256. // full column insertion
  257. //----------------------
  258. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a<>0;
  259. v=[%t %f %t %t %t %t]';
  260. a1=a;a1(:,1)=v;A=full(a);A(:,1)=v;
  261. if or(full(a1)<>A) then bugmes();quit;end
  262. a1=a;a1(:,2)=v;A=full(a);A(:,2)=v;
  263. if or(full(a1)<>A) then bugmes();quit;end
  264. a1=a;a1(:,1)=v;A=full(a);A(:,1)=v;
  265. if or(full(a1)<>A) then bugmes();quit;end
  266. a1=a;a1(:,2)=v;A=full(a);A(:,2)=v;
  267. if or(full(a1)<>A) then bugmes();quit;end
  268. a1=a;a1(:,3)=v;A=full(a);A(:,3)=v;
  269. if or(full(a1)<>A) then bugmes();quit;end
  270. //
  271. a1=a;a1(:,7)=v;A=full(a);A(:,7)=v;
  272. if or(full(a1)<>A) then bugmes();quit;end
  273. a1=a;a1(:,8)=v;A=full(a);A(:,8)=v;
  274. if or(full(a1)<>A) then bugmes();quit;end
  275. b=[%t %f %t %t %t %t;%f %f %t %t %f %t]';
  276. a1=a;a1(:,[1 3])=b;A=full(a);A(:,[1 3])=b;
  277. if or(full(a1)<>A) then bugmes();quit;end
  278. a1=a;a1(:,[3 1])=b;A=full(a);A(:,[3 1])=b;
  279. if or(full(a1)<>A) then bugmes();quit;end
  280. b=[%t %f %t %t %t %t;%f %f %t %t %f %t;%f %t %t %t %t %f]';
  281. a1=a;a1(:,[1 3 1])=b;A=full(a);A(:,[1 3 1])=b;
  282. if or(full(a1)<>A) then bugmes();quit;end
  283. // row column insertion
  284. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6]);a=a<>0;
  285. b=[%t %t %f;%f %t %f;%t %t %t];
  286. a1=a;a1(1,1)=%t;A=full(a);A(1,1)=%t;
  287. if or(full(a1)<>A) then bugmes();quit;end
  288. a1=a;a1(1,6)=%t;A=full(a);A(1,6)=%t;
  289. if or(full(a1)<>A) then bugmes();quit;end
  290. a1=a;a1(1,8)=%t;A=full(a);A(1,8)=%t;
  291. if or(full(a1)<>A) then bugmes();quit;end
  292. a1=a;a1(1:3,1:3)=b;A=full(a);A(1:3,1:3)=b;
  293. if or(full(a1)<>A) then bugmes();quit;end
  294. a1=a;a1(1:3,6:8)=b;A=full(a);A(1:3,6:8)=b;
  295. if or(full(a1)<>A) then bugmes();quit;end
  296. a1=a;a1(6:8,1:3)=b;A=full(a);A(6:8,1:3)=b;
  297. if or(full(a1)<>A) then bugmes();quit;end
  298. a1=a;a1([3 2 1],1:3)=b;A=full(a);A([3 2 1],1:3)=b;
  299. if or(full(a1)<>A) then bugmes();quit;end
  300. a1=a;a1([1 2 1],1:3)=b;A=full(a);A([1 2 1],1:3)=b;
  301. if or(full(a1)<>A) then bugmes();quit;end
  302. a1=a;a1([3 2 1],[3 2 1])=b;A=full(a);A([3 2 1],[3 2 1])=b;
  303. if or(full(a1)<>A) then bugmes();quit;end
  304. a1=a;a1([1 2 1],[3 2 1])=b;A=full(a);A([1 2 1],[3 2 1])=b;
  305. if or(full(a1)<>A) then bugmes();quit;end
  306. a1=a;a1([1 2 1],[1 2 1])=b;A=full(a);A([1 2 1],[1 2 1])=b;
  307. if or(full(a1)<>A) then bugmes();quit;end
  308. // vector insertion
  309. v=sparse([1 1;3 1;6 1],[10 11 12],[6 1]);v=v<>0;
  310. v1=v;v1(1)=%f;V=full(v);V(1)=%f;
  311. if or(full(v1)<>V) then bugmes();quit;end
  312. v1=v;v1(2)=%t;V=full(v);V(2)=%t;
  313. if or(full(v1)<>V) then bugmes();quit;end
  314. v1=v;v1(8)=%f;V=full(v);V(8)=%f;
  315. if or(full(v1)<>V) then bugmes();quit;end
  316. v1=v;v1([1 2 8])=[%t;%t;%f];V=full(v);V([1 2 8])=[%t;%t;%f];
  317. if or(full(v1)<>V) then bugmes();quit;end
  318. v1=v;v1(:)=[];
  319. if or(full(v1)<>[]) then bugmes();quit;end
  320. v1=v;v1(1)=sparse(%f);V=full(v);V(1)=%f;
  321. if or(full(v1)<>V) then bugmes();quit;end
  322. v1=v;v1(2)=sparse(%f);V=full(v);V(2)=%f;
  323. if or(full(v1)<>V) then bugmes();quit;end
  324. v1=v;v1(8)=sparse(%f);V=full(v);V(8)=%f;
  325. if or(full(v1)<>V) then bugmes();quit;end
  326. v1=v;v1([1 2 8])=sparse([%f;%t;%f]);V=full(v);V([1 2 8])=[%f;%t;%f];
  327. if or(full(v1)<>V) then bugmes();quit;end
  328. v1=v;v1([1 2 1])=sparse([%f;%f;%f]);V=full(v);V([1 2 1])=[%f;%f;%f];
  329. if or(full(v1)<>V) then bugmes();quit;end
  330. v1=v;v1(:)=[];
  331. if or(full(v1)<>[]) then bugmes();quit;end
  332. v1=v;v1(:)=(sparse([2 1],44,[6 1])<>0);V=full(v);V(:)=[%f;%t;%f;%f;%f;%f];
  333. if or(full(v1)<>V) then bugmes();quit;end
  334. v=v';
  335. v1=v;v1(1)=%f;V=full(v);V(1)=%f;
  336. if or(full(v1)<>V) then bugmes();quit;end
  337. v1=v;v1(2)=%f;V=full(v);V(2)=%f;
  338. if or(full(v1)<>V) then bugmes();quit;end
  339. v1=v;v1(8)=%f;V=full(v);V(8)=%f;
  340. if or(full(v1)<>V) then bugmes();quit;end
  341. v1=v;v1([1 2 8])=[%t %f %f];V=full(v);V([1 2 8])=[%t %f %f];
  342. if or(full(v1)<>V) then bugmes();quit;end
  343. v1=v;v1(1)=sparse(%f);V=full(v);V(1)=%f;
  344. if or(full(v1)<>V) then bugmes();quit;end
  345. v1=v;v1(2)=sparse(%f);V=full(v);V(2)=%f;
  346. if or(full(v1)<>V) then bugmes();quit;end
  347. v1=v;v1(8)=sparse(%f);V=full(v);V(8)=%f;
  348. if or(full(v1)<>V) then bugmes();quit;end
  349. v1=v;v1([1 2 8])=sparse([%f %t %f]);V=full(v);V([1 2 8])=[%f %t %f];
  350. if or(full(v1)<>V) then bugmes();quit;end
  351. v1=v;v1([1 2 1])=sparse([%f %f %f]);V=full(v);V([1 2 1])=[%f %f %f];
  352. if or(full(v1)<>V) then bugmes();quit;end
  353. v1=v;v1(:)=(sparse([1 2],44,[1,6]))<>0;V=full(v);V(:)=[%f %t %f %f %f %f];
  354. if or(full(v1)<>V) then bugmes();quit;end
  355. v1=v;v1(1)=[];V=full(v);V(1)=[];
  356. if or(full(v1)<>V) then bugmes();quit;end
  357. //test des comparaisons
  358. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6])<>0;
  359. b=sparse([1 6;1 2;6 5],[10;-1;-1],[6 6])<>0;;
  360. if full(a==a)<>full(a)==full(a) then bugmes();quit;end
  361. if full(a<>a)<>(full(a)<>full(a)) then bugmes();quit;end
  362. if full(a==full(a))<>full(a)==full(a) then bugmes();quit;end
  363. if full(a<>full(a))<>(full(a)<>full(a)) then bugmes();quit;end
  364. if full(full(a)==a)<>full(a)==full(a) then bugmes();quit;end
  365. if full(full(a)<>a)<>(full(a)<>full(a)) then bugmes();quit;end
  366. a=sparse([1 1;3 1;6 1],[10 11 12],[6 1])<>0;
  367. if full(a==a)<>full(a)==full(a) then bugmes();quit;end
  368. if full(a<>a)<>(full(a)<>full(a)) then bugmes();quit;end
  369. if full(a==full(a))<>full(a)==full(a) then bugmes();quit;end
  370. if full(a<>full(a))<>(full(a)<>full(a)) then bugmes();quit;end
  371. if full(full(a)==a)<>full(a)==full(a) then bugmes();quit;end
  372. if full(full(a)<>a)<>(full(a)<>full(a)) then bugmes();quit;end
  373. a=a';
  374. if full(a==a)<>full(a)==full(a) then bugmes();quit;end
  375. if full(a<>a)<>(full(a)<>full(a)) then bugmes();quit;end
  376. if full(a==full(a))<>full(a)==full(a) then bugmes();quit;end
  377. if full(a<>full(a))<>(full(a)<>full(a)) then bugmes();quit;end
  378. if full(full(a)==a)<>full(a)==full(a) then bugmes();quit;end
  379. if full(full(a)<>a)<>(full(a)<>full(a)) then bugmes();quit;end
  380. a=sparse([1 6;1 5;1 3;2 4;2 1;4 4;4 3;5 1;6 6],1:9,[6 6])<>0;
  381. b=sparse([1 6;1 2;5 5],[10;-1;-1],[5 6])<>0;
  382. if a==b<>%f then bugmes();quit;end
  383. if a<>b<>%t then bugmes();quit;end
  384.